﻿using System;
using System.Collections.Generic;

namespace Csharp__练习总结
{
    //书写一个怪物（Monster）类，在怪物类的构造中将其添加到一个静态列表，
    //以怪物类做为基类派生Boss和Gablin类，
    //遍历列表可以让Boss和Gablin的对象产生不同的攻击行为（多态），
    //可以写一个方法，让怪物按攻击力进行排序，从小到大
    
    


    class Program
    {
        static void Main(string[] args)
        {
            //实例化
            for (int i=0;i<10;i++) 
            {
                new Gablin("第"+i+"哥布林");//还可以利用表随机取名
            }

            new Boss("拉格纳罗斯");

            MonsterManage.monsterList.Sort();//排序---报错原因，怪兽a和怪兽b 不能进行比较---自己写一个sort

            //MonsterSortWithAttack(MonsterManage.monsterList);//排序

            //遍历
            for (int i = 0; i < MonsterManage.monsterList.Count; i++)
            {
                //MonsterManage.monsterList[i].Attack();
                Console.WriteLine(MonsterManage.monsterList[i]);
            }
        }

        //monster排序方法
        //public static void MonsterSortWithAttack(List<Monster> list) 
        //{
        //    for (int i=0;i<list.Count;i++) 
        //    {
        //        for (int j=0;j<list.Count-1-i;j++) 
        //        {
        //            if (list[j].attack>list[j+1].attack) 
        //            {
        //                Monster temp = list[j];
        //                list[j] = list[j + 1];
        //                list[j + 1] = temp;
        //            }
        //        }
        //    }
        //}


        //使用自己的sort方法
    }
}
